Js.composer.reply_placeholder si applica sia ai Nuovi Argomenti che alle Risposte

Descrizione del problema

Il testo js.compser.reply_placeholder sembra essere collegato al testo nella casella di composizione quando un argomento viene creato, nonostante sia specifico per le risposte.

Come riprodurre?

Ciò può essere visto confrontando una versione modificata del testo segnaposto con la casella di composizione.

Alcune correzioni che vengono in mente

Una correzione potrebbe essere quella di cambiare il nome del segnaposto, tuttavia adoreremmo avere la possibilità di modificare separatamente i segnaposto sia per le risposte che per le creazioni.

Perché i segnaposto per creazione e risposta sarebbero utili?

Come mostrato di seguito, abbiamo iniziato a utilizzare il seguente testo segnaposto per i nuovi argomenti. Tuttavia, questa guida non ha senso nel contesto di una risposta.


immagine

Se la correzione per questo comportasse un segnaposto sia per le risposte che per la creazione, saremmo in grado di fornire una guida JIT migliorata per tutti gli utenti (il che sarebbe fantastico per le community di supporto come la nostra).

2 Mi Piace

Forse il codice in questo argomento ti aiuterà

2 Mi Piace

:heart: Ottima scoperta. Ci ho provato rapidamente e sembra separare molto bene la risposta e creare dei segnaposto. Mi piacerebbe vedere questa modifica apportata al core, ma sono molto felice di usare le modifiche fornite da Joe. Grazie per aver collegato questo @Moin

4 Mi Piace

Come follow-up, lo snippet di codice postato da Joe non ha funzionato come previsto con il nostro nuovo pulsante topic: quando un utente crea un nuovo topic mentre stava leggendo un topic, riceveva il testo della risposta.

Di seguito un approccio alternativo che:

  • Presenta un placeholder per i nuovi topic, sia che vengano avviati dalla pagina delle Categorie o dall’interno di un topic
  • Presenta un placeholder diverso per le risposte
<script type="text/discourse-plugin" version="0.8">
// Custom placeholders
const placeHolderForReplies = `When helping someone else:

1. Describe what you think the problem is
2. Tell them what you think they should do
3. Show them how to do it (code snippets, images, etc)
4. Include links and references `;

const placeHolderForNewTopics = `Type here.

1. Tell us what you're trying to do.
2. Tell us what you already tried.
3. Post error logs as code snippets.`;

// Import required modules
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) {
    // Determine if the composer is for replying or creating a new topic
    if (creatingTopic) {
      return "composer.custom_topic_placeholder";  // New topic placeholder
    } else if (replyingToTopic) {
      return "composer.custom_reply_placeholder";  // Reply placeholder
    }
    return this._super(...arguments);  // Fallback to default behavior
  }
});

</script>

2 Mi Piace

C’è anche

3 Mi Piace