| Resumo | Um componente de tema leve que solicita confirmação antes de excluir uma postagem | |
| Repositório | GitHub - scavin/discourse-confirm-delete · GitHub | |
| Guia de Instalação | Como instalar um tema ou componente de tema | |
| Novo em Temas do Discourse? | Guia para iniciantes sobre o uso de Temas do Discourse |
Instalar este componente de tema
Estou compartilhando um pequeno componente de tema que adiciona uma etapa de confirmação antes que uma postagem seja excluída.
Por padrão, clicar no botão de exclusão executa imediatamente a ação de exclusão padrão do Discourse. Este componente exibe primeiro o diálogo de confirmação de perigo nativo do Discourse, ajudando a prevenir exclusões acidentais.
O que ele faz?
Quando um usuário clica no botão Excluir em uma postagem, o componente exibe um diálogo de confirmação:
Excluir postagem
Tem certeza de que deseja excluir esta postagem?
As ações disponíveis são:
- Cancelar — fecha o diálogo sem fazer nada
- Excluir — continua com a ação de exclusão original do Discourse
Principais Recursos
Usa a interface de diálogo nativa do Discourse
Usa um botão Excluir vermelho no estilo de perigo
Preserva o comportamento de exclusão original do Discourse
Não altera verificações de permissão
Não modifica o Discourse Core
Nenhum plugin necessário
Sem jQuery ou window.confirm()
Sem simulação de clique no DOM
Funciona em desktop e mobile
Traduções para inglês e chinês simplificado
Outros idiomas recaem para o inglês
Administradores podem substituir o texto por meio de traduções de tema
Como funciona
O componente usa as APIs de frontend oficiais do Discourse:
apiInitializer- o transformador de valor
post-menu-buttons - o serviço integrado
dialog.deleteConfirm()
Ele substitui o componente do botão Excluir do menu da postagem por um pequeno wrapper. Após a confirmação, o wrapper chama a ação original deletePost.
Isso significa que o componente não reimplementa a exclusão, não faz sua própria solicitação de API nem contorna a lógica de autorização existente do Discourse.
Após a instalação:
- Abra o componente em Admin → Personalizar → Temas
- Adicione-o aos temas onde deve ser habilitado
- Atualize a página do tópico
- Clique no botão Excluir em uma postagem para testar o diálogo de confirmação
Traduções
O componente atualmente inclui:
- Inglês (
en) - Chinês simplificado (
zh_CN)
O título do diálogo, a mensagem, o botão Cancelar e o botão Excluir usam todas chaves de tradução de tema. Traduções adicionais são bem-vindas.
Compatibilidade
Projetado para versões atuais do Discourse que usam o menu de postagem Glimmer moderno e a Plugin API.
Espero que este pequeno componente ajude a prevenir exclusões acidentais de postagens. Feedback, relatórios de bugs, traduções e sugestões são bem-vindos! ![]()
