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.
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.
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.
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.
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.
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.
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.
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.