Skip to content

fix(questao): mostrar quais campos/abas bloqueiam o save no modal de edição - #639

Merged
FernandoAlmeidaPinto merged 1 commit into
developfrom
fix/questao-content-erro-mascarado
Jul 25, 2026
Merged

fix(questao): mostrar quais campos/abas bloqueiam o save no modal de edição#639
FernandoAlmeidaPinto merged 1 commit into
developfrom
fix/questao-content-erro-mascarado

Conversation

@FernandoAlmeidaPinto

@FernandoAlmeidaPinto FernandoAlmeidaPinto commented Jul 25, 2026

Copy link
Copy Markdown
Member

Closes #638

Problema (draft "Erro oculto ao alterar questões com imagem no texto")

Ao editar certas questões (ex.: _id 67f2a1ce28db02438df9769d) — tipicamente legadas do ENEM cujas alternativas/enunciado são imagens — mexer em qualquer coisa (inclusive o checkbox de "Revisões Necessárias") mostrava "Por favor, corrija os erros antes de salvar" com o botão Salvar desabilitado, sem indicar o que corrigir.

Causa raiz (confirmada com dado real)

Inspeção read-only no Mongo de dev mostrou que essas questões têm as 5 textoAlternativa{A-E} vazias (o conteúdo das alternativas está na imagem, não em texto). O conteudoSchema (Yup) exige cada alternativa não-vazia (.min(1)), então:

  1. isValid = false
  2. botão Salvar fica disabled
  3. aparece a mensagem genérica de erro
  4. mas os campos inválidos estão na aba Alternativas — ao editar a aba Enunciado (onde vive o Salvar), o usuário não via qual campo/aba corrigir

A "imagem no texto" que o ticket notou era correlação, não causa: questões com imagem tendem a ter alternativas em imagem (texto vazio). Também descartei o limite de 20000 chars (maior textoQuestao real = 2695).

Correção (decisão de produto: não relaxar a validação, só torná-la visível)

A barra de ações passa a listar cada campo inválido com seu rótulo e a aba onde corrigi-lo — ex.: "Alternativa A (aba Alternativas): A alternativa A não pode estar vazia". O bloqueio deixa de ser oculto e vira acionável (o revisor sabe que precisa preencher as alternativas a partir da imagem).

Escopo consciente

Isto não desbloqueia por si só o toggle de Revisões nessas questões legadas — enquanto as alternativas estiverem vazias, o Salvar segue desabilitado (por escolha, para não afrouxar a validação de conteúdo). Passa a ser possível ver e corrigir o motivo.

Verificação

  • tsc --noEmit: sem erros no arquivo alterado.
  • ESLint (config do projeto): TabConteudo/index.tsx limpo.
  • Lógica collectFieldErrors validada com o cenário real (5 alternativas vazias → 5 itens, todos "aba Alternativas").
  • Falta verificação visual no navegador.

🤖 Generated with Claude Code

Questões legadas com alternativas em imagem têm textoAlternativa A-E
vazias, o que reprova o schema Yup (min 1). O botão Salvar fica
desabilitado e aparecia só "Por favor, corrija os erros antes de salvar"
— mas os campos inválidos ficam na aba Alternativas, então ao editar o
Enunciado (ou o checkbox de Revisões) o usuário não via o que corrigir.

Agora a barra de ações lista cada campo inválido com seu rótulo e a aba
onde corrigi-lo (ex.: "Alternativa A (aba Alternativas): ..."), tornando
o bloqueio acionável em vez de oculto.

Refs: draft "Erro oculto ao alterar questões com imagem no texto"

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@FernandoAlmeidaPinto FernandoAlmeidaPinto self-assigned this Jul 25, 2026
@FernandoAlmeidaPinto
FernandoAlmeidaPinto merged commit 8768204 into develop Jul 25, 2026
2 checks passed
@FernandoAlmeidaPinto
FernandoAlmeidaPinto deleted the fix/questao-content-erro-mascarado branch July 25, 2026 22:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Erro oculto ao alterar questões com imagem no texto

1 participant