Nella mia istanza utilizzo per questo un componente tema semplice. Di seguito trovi una versione adattata dalla mia, che accetta anche #upload (una nuova risposta che apre la finestra di caricamento su desktop) e #edit (per gli OP delle wiki), oltre a #reply.
Ha bisogno di qualche ritocco, come evitare l’uso di setTimeout e gestire correttamente draftSequence (non credo che topic.draft_sequence sia corretto), e non so quale sia la migliore pratica in questo caso. Detto questo, per me funziona bene.
Navigando su qualsiasi argomento come /t/[slug]/[id]#reply si aprirà il compositore con una nuova risposta vuota.
Se hai bisogno di un testo precompilato, è possibile impostare l’attributo reply sull’oggetto passato a composer.open. Inoltre, se esiste già una bozza per quell’argomento, verrà chiesto se vuoi salvarla o scartarla prima di creare questa nuova risposta: draftSequence deve essere corretto se il comportamento desiderato è riprendere quella bozza.
<script type="text/discourse-plugin" version="0.4">
if (/.*#reply$/g.test(document.URL)) {
const { REPLY } = require('discourse/models/composer').default;
const composer = Discourse.__container__.lookup('controller:composer');
setTimeout(function() {
const topic = Discourse.__container__.lookup("controller:topic").get("model");
if (topic) {
composer.open({
action: REPLY,
draftKey: topic.draft_key,
draftSequence: topic.draft_sequence,
topic,
});
}
}, 0)
}
</script>
Spero che questo possa esserti utile.