FEATURE: Permitir que o usuário exclua seu tópico/postagem pendente na página de atividades

O /activity/pending atualmente lista todos os tópicos/postagens pendentes, mas apenas as postagens podem ser excluídas ao entrar no tópico e clicar no botão “Excluir” abaixo da caixa “aguardando aprovação”, e os usuários não podem excluir seus próprios tópicos pendentes sem entrar em contato com a equipe.

Este commit adiciona um botão “Excluir” semelhante diretamente à página /activity/pending, para que os usuários possam excluir seus próprios tópicos pendentes, seguindo uma lógica semelhante à exclusão de postagens pendentes anterior.

Antes:

Depois:

https://github.com/user-attachments/assets/606d9fdd-ee9e-4445-931a-9607f642e97a

Também foram adicionados alguns specs para testar essa função.

4 curtidas

Parece legal! Só algumas considerações…

  • Por que o tópico excluído permanece na fila, como na sua captura de tela? Não deveria simplesmente… cancelá-lo?
  • Para mim, faria mais sentido ter uma caixa de confirmação em vez de permitir que uma ação destrutiva seja executada com um único clique.
2 curtidas

por que o tópico excluído permanece na fila, como na sua captura de tela? não deveria simplesmente… cancelá-lo?

A lógica é mantida igual à de uma publicação, ou seja, quando uma publicação é excluída por um usuário antes que uma ação seja tomada por um colaborador, ela também permanece na fila como acima (O status é “Tópico ou publicação excluída”, então não afetará o estado pendente).

Além disso, acho que isso faz sentido, se um usuário exclui acidentalmente um tópico pendente, ele pode pedir aos colaboradores para recuperá-lo.

faria sentido para mim ter um prompt de confirmação em vez de tornar uma ação destrutiva em um clique.

OK, vou adicionar um pop-up para que os usuários possam confirmar.

2 curtidas

Em quais casos semelhantes o Discourse mostra um prompt de confirmação?
Quando eu apago uma postagem ou tópico que eu criei, também não há etapa de confirmação. Nas minhas listas de favoritos, “apagar favorito” também exclui sem perguntar novamente.
Entendo a necessidade de perguntar novamente se as informações forem perdidas permanentemente, como quando você descarta um rascunho, mas não acho que deveria haver muitos desses casos, porque então os importantes pareceriam menos importantes. (A discussão aqui também pode ser interessante nesse contexto)
Desde que um membro da equipe possa restaurar o tópico, não acho que este precise de confirmação.

3 curtidas

Super legal, @small-lovely-cat!

Faz sentido pra mim.

Uau, isso é estranho. Eu tinha acabado de tentar excluir um tópico e ele não me alertou de forma alguma, mesmo como usuário padrão. Agora que fiz isso, faz sentido, mas talvez eu tenha me acostumado tanto à experiência do administrador que esqueci que ele não solicita confirmação como usuário, porque honestamente eu achava que solicitava. No entanto, isso acontece na janela pop-up de resposta, o que acho que é mais ou menos a mesma coisa.

No final das contas, acho que é uma questão de preferência e eu simplesmente prefiro ter uma verificação rápida para evitar cliques/toques acidentais.

1 curtida

Mas esse é um caso em que o conteúdo da publicação seria perdido de outra forma, o que não acontece nos outros exemplos. Acho que, em geral, o Discourse foi criado com a ideia de que o usuário sabe o que está fazendo e só alerta se as consequências forem graves.

1 curtida

Isso é exatamente isso, e não necessariamente específico do Discourse, mas apenas as melhores práticas gerais de UX: um modal/dialogo é um elemento que causa atrito no fluxo do usuário e deve ser usado apenas quando uma ação é realmente destrutiva. Qualquer coisa que seja facilmente recuperável ou desfeita pode prosseguir sem isso.

3 curtidas

Eu concordo totalmente com isso, o problema é que, pelo menos com este recurso, ele não pode ser desfeito sem a intervenção da equipe, pelo que parece. Se eu fosse um usuário e apertasse o botão “revogar publicação” por engano, eu preferiria que uma janela modal me impedisse do que precisar ir pedir à equipe (que talvez não veja) para aprovar a publicação de qualquer maneira.

1 curtida

Sim, a definição de “fácil” é debatível

2 curtidas

O método original para excluir uma publicação pendente era acessar o tópico e rolar até o final, depois clicar no botão “Excluir”. Esse processo é complexo o suficiente para evitar ações não intencionais.

Mas como as publicações pendentes são exibidas em uma lista, alguém pode acidentalmente clicar no botão de exclusão de uma linha errada e, então, ter que entrar em contato com a equipe para recuperar o conteúdo, o que pode levar tempo e esforço. Do ponto de vista do usuário, acho que não é tão “fácil” assim, então talvez seja necessário um diálogo de confirmação aqui.

P.S. Meu commit original era para manter a mesma lógica que a de excluir uma publicação pendente antes, mas acho que talvez seja necessário alertar o usuário novamente aqui.

1 curtida