Adequar a página de conteúdos e o componente Content
para lidar melhor com alterações nos dados
#1376
Milestone
Content
para lidar melhor com alterações nos dados
#1376
Contexto
A página de conteúdos precisa lidar melhor com seus estados quando ocorre uma revalidação em segundo plano da página atual momentos após uma alteração feita pelo próprio usuário nessa página (criação, edição ou exclusão de conteúdos ou comentários).
Todos os problemas se aplicam apenas a conteúdos ou comentários do próprio usuário (ou modificadas por moderadores). A interface já se comporta adequadamente com modificações vindas apenas pela revalidação, e sem mudanças locais.
Exemplos de inconsistências que podem ocorrer:
Content
que inicialmente estava em modo compacto e não está presente na árvore de comentários, então não terá seu estado atualizado.Provavelmente outros casos de inconsistências devem ocorrer enquanto mantivermos estados dentro do component
Content
que não são atualizados quando vierem novos dados no backend.Execução
Uma possibilidade é não manter estados de alterações de conteúdos dentro do próprio componente
Content
, e centralizar isso no componente superior, onde pode ser verificado quais dados são mais recentes (entre os locais e os revalidados).Manter os estados em nível superior também permite não mais renderizar novos comentários dentro do que inicialmente era o componente
Content
em modo compacto (o botão de responder). Mas sim adicionar eles na árvore de comentários para ser renderizado como os demais.Um problema menor, mas que talvez possa ser resolvido junto, é a permanência dos botões de qualificar e de responder mesmo após excluir um conteúdo ou comentário. Mas nesses casos os botões só permanecem enquanto os dados não forem revalidados em segundo plano, momento em que eles somem da tela (ou surge a página 404 se for o conteúdos principal da página). Mas dependendo da solução adotada para essa issue, ficará resolvido também esse caso.
[Edit] Poderemos habilitar o
revalidateOnFocus
nas páginas de conteúdos após a resolução dessa issue.The text was updated successfully, but these errors were encountered: