🐛 Bugs e Pontos de Melhoria — Painel Admin Giants (Abril 2026)
Bugs e Pontos de Melhoria — Painel Admin Giants
Ambiente: https://painel-giants.dev.entregadigital.app.br/admin
Versão: 2.66.0
Data da análise: 17/04/2026
Responsável: Jefferson
🔴 Bugs Confirmados
1. Modal de edição retorna dados obsoletos (stale DOM)
Localização: Edição de categorias e módulos (/admin/produtos/[id])
Descrição: Após fechar um modal e abrir um novo imediatamente, o DOM ainda reflete o conteúdo do modal anterior por 1–2 segundos. Consultas JavaScript a ngb-modal-window retornam o estado antigo.
Impacto: Salvamentos incorretos — o conteúdo digitado no novo modal pode substituir valores do modal anterior se o botão SALVAR for acionado antes do DOM atualizar.
Reprodução: Editar categoria A → fechar → abrir categoria B imediatamente → os inputs ainda mostram os valores de A.
Sugestão de correção: Adicionar um guard de debounce/flag no componente de modal para garantir que o formulário seja inicializado apenas após a renderização completa do novo contexto Angular.
2. Botão SALVAR sempre desabilitado até clicar no tipo (UX confuso)
Localização: Modal de edição de categorias (edm-category-container)
Descrição: Mesmo quando o tipo de categoria já está selecionado, o botão SALVAR permanece desabilitado. É necessário clicar explicitamente no card de tipo (ex: "Produtos") para reativar a validação Angular.
Impacto: Usuários acreditam que o formulário está com erro, gerando confusão e frustração.
Sugestão de correção: Inicializar o FormControl do tipo como touched ao abrir o modal, ou pré-selecionar o valor no formulário reativo sem exigir clique manual.
3. Dois níveis de gamificação com o mesmo nome "Iniciante"
Localização: /admin/configuracoes/gamefication?tab=levels
Descrição: Existem dois níveis cadastrados com o nome "Iniciante" — um com pontuação mínima de 0 e outro de 3. Isto é ambíguo e pode gerar comportamento inesperado no app (dois níveis idênticos para o usuário).
Impacto: Usuário no nível inicial pode ver o nome "Iniciante" duas vezes sem distinção visual, e relatórios de gamificação podem mostrar dados duplicados.
Sugestão de correção: Adicionar validação no painel que impeça salvar dois níveis com o mesmo nome, ou renomear um deles (ex: "Novato").
4. Aba "Produtos Favoritos" não possui toggle "Disponível no app"
Localização: Gerenciamento de abas (/admin/produtos → edição de categoria tipo "Produtos favoritos")
Descrição: Categorias do tipo "Produtos favoritos" não exibem o toggle "Disponível no app?", impossibilitando ocultá-las do app sem excluí-las.
Impacto: Administradores não conseguem temporariamente desativar a aba de favoritos sem perder a configuração.
Sugestão de correção: Padronizar o toggle de visibilidade para todos os tipos de categoria, incluindo "Produtos favoritos".
5. scrollIntoView causa clique no botão errado
Localização: Listagem de módulos em /admin/produtos/[id]
Descrição: Ao usar element.scrollIntoView() para posicionar um botão de edição na viewport e clicar nele, o clique às vezes aciona o botão do módulo adjacente, pois o scroll posiciona dois botões próximos na mesma área de click.
Impacto: Edições acidentais no módulo errado.
Sugestão de correção: Usar referência direta ao elemento JavaScript e chamar .click() programaticamente em vez de depender de coordenadas após scroll.
6. Campo "Dias para liberação" não responde a eventos input programáticos
Localização: Produto edit → seção "Liberação de conteúdo" sequencial
Descrição: O campo numérico de dias para liberação sequencial ignora o evento input ao ser preenchido via HTMLInputElement value setter. É necessário despachar também o evento change para que o Angular atualize o model.
Impacto: Em integrações ou scripts de automação, o valor pode parecer atualizado visualmente mas não ser persistido corretamente.
Sugestão de correção: Usar (ngModelChange) ou ReactiveFormsModule com updateOn: 'change' em vez de escutar apenas o evento input.
🟡 Pontos de Melhoria (UX / Funcionalidade)
7. Não há renomeação em lote de conteúdos
Localização: /admin/produtos/[id] (listagem de conteúdos por módulo)
Descrição: Para renomear múltiplos conteúdos, é preciso abrir e salvar cada um individualmente. Não há operação em lote.
Impacto: Alto — tarefas de organização de conteúdo são extremamente demoradas.
Sugestão: Adicionar seleção múltipla com ação "Renomear prefixo" ou edição inline na listagem.
8. Nomes informais nos níveis de gamificação
Localização: /admin/configuracoes/gamefication?tab=levels
Descrição: Os nomes de níveis como "Diamond Lindo Demais" e "TOP" não são adequados para plataformas de clientes B2B ou corporativos.
Sugestão: Oferecer um conjunto de nomes padrão profissionais ou exibir preview de como o nível aparece no app antes de salvar.
9. Sem indicador visual de data de liberação no conteúdo sequencial
Localização: Produto com liberação sequencial ativada
Descrição: Quando liberação sequencial está configurada (ex: 7 dias entre aulas), a listagem de conteúdos não exibe uma data/cronograma previsto de liberação por aula.
Impacto: O administrador não consegue verificar rapidamente quando cada conteúdo estará disponível para um aluno que iniciou no dia X.
Sugestão: Exibir coluna opcional "Data de liberação estimada" na listagem de conteúdos quando liberação sequencial estiver ativa.
10. Imagens de produto inadequadas / sem validação de dimensão
Localização: Edição de produto → upload de imagem
Descrição: O sistema aceita qualquer imagem independente das dimensões. Produtos de teste foram criados com imagens de pessoas aleatórias (Banco de Imagens Entrega Digital) que não comunicam o tema do curso.
Sugestão: Adicionar validação de dimensão mínima e proporção, e exibir aviso quando a imagem não atender às especificações recomendadas (880x1280 capa / 1280x720 detalhe).
11. Não há preview do produto antes de publicar
Localização: Edição de produto
Descrição: Não existe botão "Visualizar como aluno" ou preview do produto no app. O administrador precisa acessar o app separadamente para verificar o resultado final.
Sugestão: Adicionar link ou botão "Ver no app" que abre o produto na versão web/app de aluno, similar ao "Link Mágico" já existente.
12. Campo de descrição abreviada sem contador de caracteres
Localização: Edição de produto → campo "Descrição abreviada"
Descrição: O campo de descrição abreviada não exibe um contador de caracteres em tempo real, dificultando saber se o texto está dentro do limite.
Sugestão: Adicionar contador X/200 caracteres abaixo do campo, com alerta visual ao aproximar do limite.
13. Ausência de busca/filtro na listagem de conteúdos por módulo
Localização: /admin/produtos/[id]
Descrição: Produtos com muitos conteúdos (ex: 45 conteúdos no produto HLS) não possuem filtro por tipo (Vídeo, Áudio, Arquivo, Link Externo) na listagem. A barra de pesquisa existente busca apenas por nome/ID.
Sugestão: Adicionar filtros rápidos por tipo de conteúdo acima da listagem.
14. Gamificação: pontuação por "Assistir conteúdo" reaplicável a cada 10 minutos
Localização: /admin/configuracoes/gamefication?tab=score
Descrição: O intervalo mínimo para ganhar pontos assistindo conteúdo é 10 minutos, o que permite farming de pontos assistindo o mesmo vídeo repetidamente.
Sugestão: Implementar flag "apenas primeira vez" ou aumentar o intervalo mínimo para 24 horas, similar à regra de "Acessar o app".
15. Título do nível de gamificação sem validação de unicidade
Localização: /admin/configuracoes/gamefication?tab=levels
Descrição: O painel permite criar níveis com nomes duplicados (conforme Bug #3). Não há validação de unicidade no formulário.
Sugestão: Adicionar validação unique no campo de nome de nível e exibir mensagem de erro em tempo real.
✅ Recursos Configurados com Sucesso
Durante a revisão, os seguintes recursos foram configurados e validados:
Recurso | Produto | Status |
|---|---|---|
Liberação sequencial (7 dias) | HLS - Transmissão ao Vivo | ✅ Ativo |
Certificado (Certificado Space 23X) | HLS - Transmissão ao Vivo | ✅ Configurado |
Carga horária (40h) | HLS - Transmissão ao Vivo | ✅ Preenchido |
Gamificação global | Plataforma | ✅ Ativa (Moedas, 7 níveis) |
Conteúdos gratuitos dentro de produto pago | Múltiplos produtos | ✅ Existente |
Módulos com prefixo de tecnologia | HLS (3 mód.) / Panda (3 mód.) | ✅ Renomeados |
Documento gerado automaticamente com base na análise do painel admin em 17/04/2026.