Js.composer.reply_placeholder aplica-se tanto a Novos Tópicos quanto a Respostas

Descrição do Problema

O texto js.compser.reply_placeholder parece estar acoplado ao texto no composer quando um tópico é criado, apesar de ser específico para respostas.

Como Reproduzir?

Isso pode ser visto comparando uma versão modificada do texto do placeholder com o composer.

Algumas Correções que Vêm à Mente

Uma correção pode ser alterar o nome do placeholder, no entanto, adoraríamos ter a opção de modificar os placeholders de respostas e criações separadamente.

Por que os Placeholders de Criação e Resposta Seriam Úteis?

Como mostrado abaixo, começamos a usar o seguinte texto de placeholder para novos tópicos. No entanto, essa orientação não faz sentido no contexto de uma resposta.


imagem

Se a correção para isso resultasse em um placeholder tanto para respostas quanto para criações, poderíamos fornecer orientação JIT aprimorada para todos os usuários (o que seria incrível para comunidades de suporte como a nossa).

2 curtidas

Talvez o código neste tópico ajude você

2 curtidas

:heart: Essa é uma ótima descoberta. Dei uma rápida testada e parece separar muito bem a resposta e criar placeholders. Adoraria ver essa mudança implementada no core, mas estou muito feliz em usar as mudanças fornecidas por Joe. Obrigado por linkar isso @Moin

4 curtidas

Como acompanhamento, o trecho de código postado por Joe não funcionou como esperado com nosso novo botão de tópico: quando um usuário cria um novo tópico enquanto estava lendo um tópico, ele recebia o texto de resposta.

Abaixo está uma abordagem alternativa que:

  • Apresenta um placeholder para novos tópicos, quer sejam iniciados na página de Categorias ou de dentro de um tópico
  • Apresenta um placeholder diferente para respostas
<script type="text/discourse-plugin" version="0.8">
// Placeholders personalizados
const placeHolderForReplies = `Ao ajudar outra pessoa:

1. Descreva o que você acha que é o problema
2. Diga a eles o que você acha que eles deveriam fazer
3. Mostre a eles como fazer isso (trechos de código, imagens, etc.)
4. Inclua links e referências `;

const placeHolderForNewTopics = `Digite aqui.

1. Diga-nos o que você está tentando fazer.
2. Diga-nos o que você já tentou.
3. Poste logs de erro como trechos de código.`;

// Importar módulos necessários
const discourseComputed = require("discourse-common/utils/decorators").default;
const currentLocale = I18n.currentLocale();
I18n.translations[currentLocale].js.composer.custom_reply_placeholder = placeHolderForReplies;
I18n.translations[currentLocale].js.composer.custom_topic_placeholder = placeHolderForNewTopics;

api.modifyClass("component:composer-editor", {
  @discourseComputed("composer.replyingToTopic", "composer.creatingTopic")
  replyPlaceholder(replyingToTopic, creatingTopic) {
    // Determinar se o composer é para responder ou criar um novo tópico
    if (creatingTopic) {
      return "composer.custom_topic_placeholder";  // Placeholder de novo tópico
    } else if (replyingToTopic) {
      return "composer.custom_reply_placeholder";  // Placeholder de resposta
    }
    return this._super(...arguments);  // Voltar ao comportamento padrão
  }
});

</script>

2 curtidas

Também existe

3 curtidas